package br.unesp.demac.bcc.soo.clarus.bean;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;


public class Obra {

	/**
	 * @uml.property  name="nomeObra"
	 */
	private String nomeObra;

	/**
	 * Getter of the property <tt>nomeObra</tt>
	 * @return  Returns the nomeObra.
	 * @uml.property  name="nomeObra"
	 */
	public String getNomeObra() {
		return nomeObra;
	}

	/**
	 * Setter of the property <tt>nomeObra</tt>
	 * @param nomeObra  The nomeObra to set.
	 * @uml.property  name="nomeObra"
	 */
	public void setNomeObra(String nomeObra) {
		this.nomeObra = nomeObra;
	}

	/**
	 * @uml.property  name="anoPublicacao"
	 */
	private int anoPublicacao;

	/**
	 * Getter of the property <tt>anoPublicacao</tt>
	 * @return  Returns the anoPublicacao.
	 * @uml.property  name="anoPublicacao"
	 */
	public int getAnoPublicacao() {
		return anoPublicacao;
	}

	/**
	 * Setter of the property <tt>anoPublicacao</tt>
	 * @param anoPublicacao  The anoPublicacao to set.
	 * @uml.property  name="anoPublicacao"
	 */
	public void setAnoPublicacao(int anoPublicacao) {
		this.anoPublicacao = anoPublicacao;
	}

	/**
	 * @uml.property  name="dataInclusao"
	 */
	private Date dataInclusao;

	/**
	 * Getter of the property <tt>dataInclusao</tt>
	 * @return  Returns the dataInclusao.
	 * @uml.property  name="dataInclusao"
	 */
	public Date getDataInclusao() {
		return dataInclusao;
	}

	/**
	 * Setter of the property <tt>dataInclusao</tt>
	 * @param dataInclusao  The dataInclusao to set.
	 * @uml.property  name="dataInclusao"
	 */
	public void setDataInclusao(Date dataInclusao) {
		this.dataInclusao = dataInclusao;
	}

	/**
	 * @uml.property  name="flagExcluido"
	 */
	private boolean flagExcluido;

	/**
	 * Getter of the property <tt>flagExcluido</tt>
	 * @return  Returns the flagExcluido.
	 * @uml.property  name="flagExcluido"
	 */
	public boolean isFlagExcluido() {
		return flagExcluido;
	}

	/**
	 * Setter of the property <tt>flagExcluido</tt>
	 * @param flagExcluido  The flagExcluido to set.
	 * @uml.property  name="flagExcluido"
	 */
	public void setFlagExcluido(boolean flagExcluido) {
		this.flagExcluido = flagExcluido;
	}

	/** 
	 * @uml.property name="localizacao"
	 * @uml.associationEnd multiplicity="(1 1)" inverse="obra:br.unesp.demac.bcc.soo.clarus.bean.Localizacao"
	 * @uml.association name="possui"
	 */
	private Localizacao localizacao = new br.unesp.demac.bcc.soo.clarus.bean.Localizacao();

	/** 
	 * Getter of the property <tt>localizacao</tt>
	 * @return  Returns the localizacao.
	 * @uml.property  name="localizacao"
	 */
	public Localizacao getLocalizacao() {
		return localizacao;
	}

	/** 
	 * Setter of the property <tt>localizacao</tt>
	 * @param localizacao  The localizacao to set.
	 * @uml.property  name="localizacao"
	 */
	public void setLocalizacao(Localizacao localizacao) {
		this.localizacao = localizacao;
	}

	/** 
	 * @uml.property name="editora"
	 * @uml.associationEnd multiplicity="(1 1)" inverse="obra:br.unesp.demac.bcc.soo.clarus.bean.Editora"
	 * @uml.association name="publica"
	 */
	private Editora editora = new br.unesp.demac.bcc.soo.clarus.bean.Editora();

	/** 
	 * Getter of the property <tt>editora</tt>
	 * @return  Returns the editora.
	 * @uml.property  name="editora"
	 */
	public Editora getEditora() {
		return editora;
	}

	/** 
	 * @uml.property name="autor"
	 * @uml.associationEnd multiplicity="(1 -1)" ordering="true" inverse="obra:br.unesp.demac.bcc.soo.clarus.bean.Autor"
	 * @uml.association name="escreve"
	 */
	private List<Autor> autor = new ArrayList<Autor>();

	/** 
	 * Getter of the property <tt>autor</tt>
	 * @return  Returns the autor.
	 * @uml.property  name="autor"
	 */
	public List<Autor> getAutor() {
		return autor;
	}

	/** 
	 * @uml.property name="emprestimo"
	 * @uml.associationEnd multiplicity="(0 -1)" ordering="true" inverse="obra:br.unesp.demac.bcc.soo.clarus.bean.Emprestimo"
	 * @uml.association name="compoe"
	 */
	private List<Emprestimo> emprestimo = new ArrayList<Emprestimo>();

	/** 
	 * Getter of the property <tt>emprestimo</tt>
	 * @return  Returns the emprestimo.
	 * @uml.property  name="emprestimo"
	 */
	public List<Emprestimo> getEmprestimo() {
		return emprestimo;
	}

	/** 
	 * Setter of the property <tt>emprestimo</tt>
	 * @param emprestimo  The emprestimo to set.
	 * @uml.property  name="emprestimo"
	 */
	public void setEmprestimo(List<Emprestimo> emprestimo) {
		this.emprestimo = emprestimo;
	}

	/** 
	 * Setter of the property <tt>autor</tt>
	 * @param autor  The autor to set.
	 * @uml.property  name="autor"
	 */
	public void setAutor(List<Autor> autor) {
		this.autor = autor;
	}

	/** 
	 * Setter of the property <tt>editora</tt>
	 * @param editora  The editora to set.
	 * @uml.property  name="editora"
	 */
	public void setEditora(Editora editora) {
		this.editora = editora;
	}

}
